ShowTable of Contents
はじめに
Lotus Sametime 7.5 がリリースされたのが 2006年の夏でした。
当時は、IBM の新しいクライアントプラットフォームである Lotus Expeditor の上で動く、最初のアプリケーションということで、社内外で非常に注目されました。
社内でもテクノロジーに興味のある人がこぞってインストールし、いろいろなアプリケーション作るとともに、そのプラグイン開発の拡張性を啓蒙するいろいろな文書が発表されました。
これらの記事が書かれたのは、まだLotus Expeditor 自体が製品としてリリースされる前のことです。
その後で Lotus Expeditor や、その上にのっかった Lotus Notes や Lotus Symphony が製品としてリリースされました。そして、Lotus Expeditor 自身の変わっていきました。そして、あまりにも早く世に出すぎた Lotus Sametime への影響は大きいものでした。
2006年に書かれた記事の内容はすでに古いものとなり、最新の Lotus Sametime 8..0 でのプラグイン開発のやり方に合わなくなってしまいました。そこで、今回は Lotus Sametime 8.0.2 で Lotus Sametime Connnect クライアントのプラグインの作り方を解説しようかと思います。
得にこの解説での「ウリ」は、すべてがただ! つまり無料で作れることです。
フリーソフトの Eclipse の上で構築しますが、利用する Lotus Sametime とLotus Expeditor の Toolkit (SDK) は IBM ID の登録だけで無料でダウンロードできます。さらにテストする Lotus Sametime サーバーも、IBM のデモ・サーバーを使います。これもユーザー登録するだけで無料で利用できます。
使用する統合開発環境(IDE)
Lotus Sametime Connect 8.0.2 クライアントは Lotus Expeditor 6.1.2 で動作するアプリケーションです。そのため開発環境の構築にはLotus Expeditor 6.1.2 Toolkit の環境が必要になります。Lotus Expeditor 6.1.2 の開発環境の構築方法は、Expeditor Toolkit の開発ガイド (Application_Developers_Guide.pdf) に記載されています。
この資料は、「事前準備」で説明する Lotus Expeditor Toolkit に含まれています。
開発で使用できる OS と開発環境については、この文書のp.10 「Supported platforms and prerequisite software」 に以下のように記述されています。
- Rational Application Developer (RAD) 7.0.0.4
- Rational Software Architect (RSA) 7.0.0.4
- Eclipse 3.2.2 + Web Tools Project (WTP) 1.5.4
- WebSphere Application Server Toolkit (AST) 6.1.1.4
3番目以外は IBM 製品で、IBM から購入する必要があります。
Eclipse だけは Eclipse Foundation から無償でダウンロードできます。
無償で利用できる Eclipse 3.2.2 + Web Tools Project (WTP) 1.5.4 を使って Lotus Sametime の Connect クライアントのプラグインの開発環境を構築にする方法について説明します。
なお、この文書を書くにあたって、Windows XP で検証し、画像もキャプチャしました。
開発環境の構築に使用する Lotus Sametime と Lotus Expeditor のToolkit は IBM のサイトから無償でダウンロードできます。
注意:Lotus Expeditor 6.1.2 は Eclipse 3.2 をベースに作成されており、その開発環境は Eclipse 3.2 を使用します。Ratinal Application Developer 7.0 も Eclipse 3.2 をベースにしています。
今、公開されている Eclipse の最新バージョンは 3.4 ですが、Eclipse 3.4 では Lotus Expeditor 6.1.2 Toolkit による開発環境の構築はできません。
事前準備
必要なファイルのダウンロード
次のファイルをあらかじめダウンロードしておきます。
- Eclipse 3.2.2 + Web Tools Project (WTP) 1.5.4
- Lotus Expeditor 6.1.2 Toolkit
- Lotus Sametime 8.0.2 Toolkit
Eclipse 3.2.2 + Web Tools Project (WTP) 1.5.4 のダウンロード
以下の Web Tool Platform Project のアーカイブサイトで 1.5.4 を選択します。
Web Tools Platform archived downloads
すると以下の Web ページが開きます。
Release Build: R-1.5.4-200705021353
このページで WebTools Platform; All-in-one の wtp-all-in-one-sdk-R-1.5.4-win32.zip をダウンロードする。これには Eclipse SDK も含まれており、展開するだけで Eclipse 統合開発環境 (IDE) が使用できます。
Lotus Expeditor 6.1.2 Toolkit と Lotus Sametime 8.0.2 Toolkit のダウンロード
Lotus 製品の Toolkit は以下の IBM developerWorks のサイトから無償でダウンロードできます。
developerWorks : Lotus toolkits
Lotus Expeditor 6.1.2 Toolkit はこのページの
Lotus Expeditor
セクションの [Lotus Expeditor 6.1.x Toolkit for Windows and Linux] リンクからダウンロードできます。
Lotus Sametime 8.0.2 Toolkit はこのページの
Lotus Sametime
セクションの [Lotus Sametime Software Development Kit (SDK)] リンクからダウンロードできます。
ダウンロード際に IBM ID が必要です。登録ページから登録してください。
My IBM Registration
導入手順の概要
Lotus Sametime Connect 8.0.2 クライアントの導入
まずはじめに Lotus Sametime サーバーと、それに接続する Lotus Sametime Connect クライアントを用意します。
Lotus Sametime はサーバー経由でプレゼンスやインスタント・メッセージを交換しますのでサーバーが必要です。そして、プラグインの開発では、Lotus Sametime Connect クライアントが必要です。もし読者の方が IBM より購入された Lotus Sametime サーバーとクライアントをお持ちでしたら、それを導入してください。
しかし、Lotus Sametime をまだ購入していないという方もあきらめないでください。Lotus Greenhouse に登録することで Louts Sametime 環境を利用することができます。
Lotus Greenhouse への登録と、Lotus Sametime Connect クライアントの導入については、
こちら
のブログを参照してください。
http://www.ibm.com/developerworks/blogs/page/bptej/20090828"> http://www.ibm.com/developerworks/blogs/page/bptej/20090828
Eclipse 3.2.2 + Web Tools Project (WTP) 1.5.4 の導入
「事前準備」で Web Tool Platform Project のアーカイブサイトからダウンロードした WebTools Platform; All-in-one の wtp-all-in-one-sdk-R-1.5.4-win32.zip を適当なフォルダに展開して、eclipse.exe をキックするとEclipse IDE が起動します。
私の場合は C:\ の直下に置いたので、c:\eclipse\eclipse.exe を起動してEclipse IDE を起動することとなります。
なお、Eclipse の起動には、Java の事項環境(JRE: Java Runtime Environment)が必要になります。Sun などの Web ページからダウンロードしてインストールしていただくことになります。
Eclipse の環境設定の詳細な説明について詳しく説明している Web ページがたくさんありますので、それら参考にしてください。
Expeditor 6.1.2 Toolkit のインストール
Lotus Sametime Connect クライアントは Lotus Expeditor のプラットフォームに上に作られたアプリケーションです。そのため、Lotus Sametime Connect でのプラグイン開発では、LoutsExpeditor 6.1.2 Toolkit を使用します。
前回の構築した Eclipse の統合開発環境(IDE)に、Lotus Expeditor 6.1.2 Toolkit を導入します。
まずはじめに「2. 事前準備」 で説明したように Louts Expeditor 6.1.2 Toolkit をダウンロードして適当なフォルダに展開します。私の場合は C:\exp612 に展開しました。
次に Eclipse IDE で導入作業をします。
Eclipse IDE を起動してメニューより [Help]-[Software Update]-[Find and Install] を選択します。
[Install/Update] ダイアログが表示されるので [Search for new feature to install] を選択し、
[Next] をクリックします。
次のダイアログで右側の [New Local Site] をクリックします。
そして [Edit Local Site] ダイアログが出てきますので、先ほど Expeditor Toolkit を展開したフォルダの下の Expeditor_Toolkit_install フォルダを選択します。名前は適当に設定してかまいません。
[OK] をクリックします。
今追加したサイトにチェックが付いていることを確認して [Finish] をクリックします。
ここで画面が閉じて何も起こらないように見えますが、裏では一生懸命ファイルを読み込んでいます。
しばらくすると [Update] ダイアログが表示されるので、Expeditor 6.1.2 Toolkit のdesktop の以下の二つを選択して [Next] をクリックします。
Lotus Expeditor Toolkit
Lotus Expeditor Development Runtimes VM
[Feature License] というライセンスの同意画面が出てきますので、[I accept the terms in the license agreements] を選択し [Next] をクリックします。
インストールするフィーチャーのリストが表示されますので [Finish] をクリックします。
このあと、また確認のた選択したフィーチャについて[Feature Verification] 画面が出てきます。
[Install All] をクリックします。
最後に Eclipse の再起動を求める画面が出るので [Yes] をクリックします。
これでやっと Lotus Expeditor 6.1.2 Toolkit の導入は終わりです。
Eclipse IDE が再起動すると、以下のような [Lotus Expeditor Toolkit の構成] ダイアログが表示されます。[テスト環境構成設定] セクションで [ワークスペースを開くたびに表示] を選択して、とりあえず [Cancel] をクリックします。
Sametime 8.0.1 プロファイルの導入
開発環境の構築の最後のステップは、Lotus Sametime 8.0.2 Connect Toolkit の導入です。
「事前準備」 で説明したように、Lotus Sametime 8.0.2 Toolkit をダウンロードしておき、適当なフォルダに展開します。私の場合は C:\st802 に展開しました。
Lotus Sametime 8.0.2 Connect Toolkit の導入も Eclipse IDE で行います。
Eclipse IDE のメニューより [Help]-[Software Update]-[Find and Install] を選択します。[Install/Update] ダイアログで [Search for new feature to install] を選択し、[Next] をクリックします。
[Insyall] ダイアログで [New Local Site] をクリックします。
ここまでは前回の手順と同じです。
そして、先ほど Sametime Toolkit を展開したフォルダの下の st802sdk/client/connect/stXpdToolkitProfile フォルダを選択します。名前は適当に設定してもかまいません。
[OK] をクリックします。
今追加したサイトにチェックが付いていることを確認して [Finish] をクリックします。
しばらくすると [Update] ダイアログが表示されるので、Sametime XPD Toolkit Feature を選択して [Next] をクリックします。
[Feature License] というライセンスの同意画面が出てきますので、[I accept the terms in the license agreements] を選択し [Next] をクリックします。
インストールするフィーチャーのリストが表示されますので [Finish] をクリックします。
このあと、また確認のた選択したフィーチャについて[Feature Verification] 画面が出てきます。[Install All] をクリックします。
Eclipse の再起動を求める画面が出るので [Yes] をクリックします。
Eclipse IDE が再起動すると、以下のような [Lotus Expeditor Toolkit の構成] ダイアログが表示されます。先ほどは [キャンセル] をしましたが、今回はちゃんとテスト環境を構成します。
このダイアログで [環境構成のテスト] セクションの [環境のテスト] で[Lotus Sametime 8.0.1] を選択します。すると [ターゲット・ロケーション] の値が自動的に変わります。
この値が、すでに導入している Lotus Sametime Connect クライアントのインストールされたフォルダ内を適切に指していることを確認してください。
もし Louts Sametime Connect クライアントが別のフォルダにインストールされていれば、[参照] ボタンを押してロケーションを修正します。
正しければ [OK] をクリックします。
サンプルのインポートと Lotus Sametime 開発環境の動作確認
Lotus Sametime Toolkit に含まれているサンプル・プログラムを開発環境にインポートします。
まず前回までで環境設定の終わった Eclipse IDE を起動します。起動したらメニューから [File]-[Import] を選択します。
[Import] ダイアログが表示されるので [プラグインおよびフラグメント] を選択し [Next] をクリックします。
[プラグインおよびフラグメントのインポート] ダイアログで以下の設定します。
[インポート元] セクションの [ターゲット・プラットフォーム] のチェックを外す。
その下の [プラグイン・ロケーション] で Lotus Sametime Toolkit フォルダの st802sdk\client\connect\samples を設定する。
[別名でインポート] セクションの [ソース・フォルダを持つプロジェクト を選択する。]
これらの設定が終わったら [Next] をクリックします。
SDK に含まれるサンプルのプログラムの一覧が表示されるので、インポートするサンプルを選択します。
ここでは [com.ibm.collaboration.realtime.sample.snippets] を選択して[追加] をクリックして右側に移す。そして[Finish] をクリックします。
サンプルのインポートが正常に終わると、以下のように Eclipse IDE に com.ibm.collaboration.realtime.sample.snippets プロジェクトが追加されています。
これでサンプル。プログラムのインポートは完了です。
次はLotus Sametime Connect クライアントを実行して、このサンプルを試してみます。Eclipse IDE より [Run]-[Run Configurations...] を選択します。
New_configuration をわかりやい適当な名前、たとえば 「Sametime」 などに変更し、[Apply] をクリックしてこの起動設定を保存します。さあ、いよいよ実行です。[Run] をクリックして Lotus Sametime Connect クライアントを起動します。
今回試したサンプルのプラグインが起動されると Lotus Sametime Connect クライアントのメニューなどをあちこちにアクションが追加されます。たとえば、以下のようにアイコンに変なボタンが追加されてています。また [ツール] メニューやコンテキスト・メニューなどに 「STIG」 で始まるメニュー・アクョンが追加されています。
これで Lotus Sametime 8.0.2 でのプラグイン開発環境の構築が終わりました。次はみなさんが自由にプラグインの開発をしていただけます。
Lotus Sametime Toolkit には、開発に当たっての参考となるサンプルのプラグインがたくさんあります。それらのサンプルを参考にして、ときにはベースとして改良を加えて、さまざまプラグインを作っていただきたいと思います。